<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>php学习笔记[010]</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="show"><span>018 PHP面向对象开发学习（二）</span></div>
<?php include 'include/top.php';?>

<div class="text"><b>创建一个和多个对象</b>
一个类可以创建多个对象来实现不同的需求。只需要用new函数创建不同的函数名即可。<br />

</div>
<div class="text"><b>对象中的$this关键字</b>
<strong>$this</strong>关键字是访问该类内的所有属性和方法的关键词，使用方法为<strong>$this->属性、方法名。</strong><br />
</div>
<div class="text"><b>初始化对象__construct()</b>
有时候我们需要初始化对象中的某些属性，就用到<strong>__construct()</strong>函数来初始化。<br />
</div>
<div class="text"><b>析构函数__destruct()</b>
当一个对象或类在使用完毕后，系统内存中依旧纯在一块区域我们需要释放这部分废弃的区域。我们用到<strong>__destruct()</strong>函数<br />
析构函数执行顺序为先入后出，后入先出。<br />
我们用一个实例来使用上诉讲诉的几个要点！<br />
<div class="code">
  &lt;?php<br />
    class MyPc{<br />
    public $name;<br />
    public $type;<br />
    function __construct($name=&quot;&quot;,$type=&quot;&quot;)<br />
    {<br />
    $this-&gt;name=$name;<br />
    $this-&gt;type=$type;<br />
    }<br />
    function vod()<br />
    {<br />
    return $this-&gt;name.&quot;播放电影&quot;;<br />
    }<br />
    function game()<br />
    {<br />
    return $this-&gt;name.&quot;玩游戏&quot;;<br />
    }</p>
  <p>function __destruct(){<br />
    echo $this-&gt;name.$this-&gt;type.'已经被释放！&lt;br /&gt;';<br />
  <br />
    }<br />
    }<br />
    $pc1=new MyPc('家用电脑','台式机');<br />
    $pc2=new MyPc('公司电脑','笔记本');</p>
  <p>echo $pc1-&gt;vod().'&lt;br /&gt;';<br />
    echo $pc2-&gt;game().'&lt;br /&gt;';<br />
    ?&gt;<br />
</div>
其执行效果就如下图！析构函数的输出部分为调试用。所以都是在页面之外的，可以在浏览器的查看源代码里面看到。在&lt;html&gt;标签结束后才出现析构函数的结果。<br />
<div class="effect">
<?php
class MyPc{
public $name;
public $type;
function __construct($name="",$type="")
	{
	$this->name=$name;
	$this->type=$type;
	}
function vod()
	{
	return $this->name."播放电影";
	}
function game()
	{
	return $this->name."玩游戏";
	}

function __destruct(){
	echo $this->name.$this->type.'已经被释放！<br />';
	
	}
}
$pc1=new MyPc('家用电脑','台式机');
$pc2=new MyPc('公司电脑','笔记本');

echo $pc1->vod().'<br />';
echo $pc2->game().'<br />';
?>
</div>
</div>


</body>
</html>
